package edu.scau.mis.pos.service.impl;

import edu.scau.mis.pos.entity.PosItem;
import edu.scau.mis.pos.mapper.PosItemMapper;
import edu.scau.mis.pos.service.IPosItemService;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;

/**
 * (PosItem)表服务实现类
 *
 * @author makejava
 * @since 2021-10-23 19:07:48
 */
@Service("posItemService")
public class PosItemServiceImpl implements IPosItemService {
    @Resource
    private PosItemMapper posItemMapper;

    /**
     * 通过ID查询单条数据
     *
     * @param itemId 主键
     * @return 实例对象
     */
    @Override
    public PosItem queryById(Integer itemId) {
        return this.posItemMapper.queryById(itemId);
    }

    /**
     * 分页查询
     *
     * @param posItem 筛选条件
     * @return 查询结果
     */
    @Override
    public List<PosItem> queryAll(PosItem posItem) {
        return posItemMapper.queryAll(posItem);
    }

    /**
     * 新增数据
     *
     * @param posItem 实例对象
     * @return 实例对象
     */
    @Override
    public PosItem insert(PosItem posItem) {
        this.posItemMapper.insert(posItem);
        return posItem;
    }

    /**
     * 修改数据
     *
     * @param posItem 实例对象
     * @return 实例对象
     */
    @Override
    public PosItem update(PosItem posItem) {
        this.posItemMapper.update(posItem);
        return this.queryById(posItem.getItemId());
    }

    /**
     * 通过主键删除数据
     *
     * @param itemId 主键
     * @return 是否成功
     */
    @Override
    public boolean deleteById(Integer itemId) {
        return this.posItemMapper.deleteById(itemId) > 0;
    }

    /**
     * 通过产品证号查询产品id
     *
     * @param itemNo
     * @return
     */
    public PosItem queryItemIdByItemNo(String itemNo){
        return this.posItemMapper.queryItemIdByItemNo(itemNo);
    }

    /**
     * 通过产品证号查询产品
     *
     * @param itemNo
     * @return
     */
    public PosItem queryItemByItemNo(String itemNo){
        int itemId = posItemMapper.queryItemIdByItemNo(itemNo).getItemId();
        return posItemMapper.queryItemByItemId(itemId);
    }

    /**
     * 通过产品id查询产品对象
     *
     * @param itemId
     * @return
     */
    public PosItem queryItemByItemId(Integer itemId){
        return posItemMapper.queryItemByItemId(itemId);
    }
}
